GPUCanvas
一个 GPU 画布。使用 .image 配合 renderer:drawImage() 来合成结果。通过 beginRenderPass() 发出 GPU 绘制调用。
字段
image
renderer:drawImage() 的后备图像。
width
像素宽度。
height
像素高度。
format
画布后备纹理的本地像素格式(D3D 上为 'bgra8unorm',其他地方为 'rgba8unorm')。MSAA 解析要求源和目标具有相同的格式——始终从此值派生 GPUTexture 和管线格式:
local fmt = canvas.format
GPUPipeline.new({ colorTargets = {{ format = fmt }}, sampleCount = 4 })
方法
resize
resize(width: number, height: number) -> ()
调整画布大小。重新创建后备纹理和任何深度缓冲区。
beginRenderPass
beginRenderPass(desc: RenderPassDesc?) -> GPURenderPass
开始针对此画布的 GPU 渲染 pass。省略 desc.color 将渲染到画布自己的后备纹理。
colorView
colorView() -> GPUTextureView
画布后备纹理的视图。在后续 pass 中用作采样器输入。